System and method for impromptu shared communication spaces

ABSTRACT

Communications between entities who may share common interests. For entities determined to be sharing common interests (e.g., searching using the same terms or topics, browsing a page, a site or a groups of topically related sites), options for communication among the entities are provided. For example, a chat room may be dynamically created for persons who are currently searching or browsing the same or related information. As another example, a “homepage” may be created for each query and contain various types of information related to the query. A permission module controls which entities may participate, what types of information (and from what sources) an entity can (or desires to) receive, what types of information the entity may (or desires to) share.

This application is a continuation of U.S. patent application Ser. No.11/170,275, filed Jun. 28, 2005, now U.S. Pat. No. 7,610,287 which isincorporated herein in its entirety by reference.

TECHNICAL FIELD Background

On-line collaboration tools can permit a community of users tocollaborate on projects, share information, meet and discuss issues, andmake presentations, all on-line. They can be used with various sizes andtypes of user communities such as work teams, social networks, and otherassociations of users. However, a particular user community must bedefined and set up by an administrator. The administrator determines anddefines the membership of the community as well as members' permissionsand rights with respect to a collaboration space. Oftentimes, theadministrator will need to modify the membership of the community toreflect various changes in the community and/or permissions with respectto the collaboration space. The administrator also configures andmaintains the collaboration space itself. In some instances, the rightsand responsibilities of an administrator can be delegated to one or moremembers of the community. Such collaboration spaces, therefore, tend torequire more than an insignificant amount of overhead to set up andmaintain.

SUMMARY

According to some embodiments, methods and systems for providingcommunications include identifying a set of users satisfying a firstcondition and dynamically creating a shared communication space for theset of users. A respective set of communication permissions isidentified for each of the users in the set of users with respect to theshared communication space and communication by the set of users isenabled with the shared communications space in accordance with thecommunication permissions.

BRIEF DESCRIPTION OF THE DRAWINGS

The aspects of the invention as well as features and advantages inaddition thereof will be more clearly understood hereinafter as a resultof a detailed description of embodiments of the invention when taken inconjunction with the drawings. Like reference numerals refer tocorresponding parts throughout the several views of the drawings.

FIG. 1 depicts an environment in which embodiments of the invention canoperate.

FIG. 2 is a flow chart of a process for dynamically generating a sharedspace in accordance with some embodiments of the present invention.

FIG. 3 depicts an exemplary screenshot of a shared space in accordancewith some embodiments of the present invention.

FIG. 4 is a block diagram of an exemplary client in accordance with someembodiments of the invention.

FIG. 5 is a block diagram of an exemplary information system inaccordance with some embodiments of the invention.

DESCRIPTION OF EMBODIMENTS

According to some embodiments, a set of entities (e.g., including usersand/or agents) having a common set of characteristics are identified.The set of common characteristics can include, for example, concurrentlydoing the same task or related tasks, searching and/or browsing forsimilar information, messaging on similar topics, composing documentsrelated to similar information, playing related games, and/or havingcertain profile information. A shared communication space (e.g., achatroom, web page, or other space) is dynamically created and theentities in the set are invited to participate in the sharedcommunication space. Participation by an entity is governed by a set ofcommunication parameters associated with each user and certain systemdefined privacy settings. In some embodiments, users can share one ormore information items, such as documents, uniform resource locators(URLs), or emails with one or more of the other entities in the sharedcommunication space.

FIG. 1 illustrates an exemplary environment 100 in which someembodiments of the invention may operate. The environment 100 includesone or more clients 102, a communication network 104, and an informationsystem 106. The client 102 can be any of a number of devices (e.g., acomputer, an internet kiosk, a personal digital assistant, a cell phone,a gaming device, a desktop computer, or a laptop computer) and caninclude one or more client applications 108, a client assistant 110,and/or a client memory 112. The client application 108 can be a softwareapplication that permits a user to interact with the client 102 and/ornetwork resources to perform one or more tasks. For example, the clientapplication 108 can be a browser (e.g., Firefox) or other type ofapplication that permits a user to search for, browse for, and/or useresources (e.g., web pages and web services) on the client 102 and/oraccessible via the communication network 104. The client application 108can also be a general purpose software application permitting the userto do various tasks on the client 102 (e.g., composing and editingdocuments). The client application 108 can be other types of generalpurpose software applications (e.g., a game). The client assistant 110can perform one or more tasks related to monitoring a user's activitieswith respect to the client application 108 and/or other applications,searching or browsing for resources (e.g., files) on the client 102, andprocessing information received from or being sent to an informationsystem 106. The client assistant 110 can be part of the clientapplication 108, available as a plug-in to the client application 108(provided, for example, from various on-line sources), or provided as astand-alone program. The client memory 112 can store various types ofinformation including, but not limited to, system information andinformation about a user.

The communication network 104 can be any local area network (LAN) and/orwide area network (WAN), such as an intranet, an extranet, or theInternet. It is sufficient that the communication network 104 providecommunication capability between a client 102 and an information system106. In some embodiments, the communication network 104 can transportinformation using the HyperText Transport Protocol (HTTP) via theTransmission Control Protocol/Internet Protocol (TCP/IP). HTTP permitsclient computers to access various resources on a client 102 and/oravailable via the communication network 104. The various embodiments ofthe invention, however, are not limited to the use of any particularprotocol. The term “resource” as used throughout this specificationrefers to any piece of information or service that is accessible via aUniform Resource Locator (URL) and can be, for example, a web page, adocument, a database, an image, or a computational object.

The information system 106 can include a search system 114 for receivingand responding to user search requests and a shared space system 116 formanaging shared spaces. The information system 106 can also include auser information database 118, a document system 120, one or moremessaging systems 138, and one or more other systems 140, all connectedto the search system 114 and the shared space system 116. In someembodiments, one or more of the connections to the search system 114 andthe shared space system 116 are made via the communication network 104.The user information database 118 can store one or more user profiles. Auser profile can contain information about a user such as the user'spreferences with respect to certain types or categories of informationand/or terms. Alternatively, or in addition to, a user profile can bestored in a cookie stored on a user's computer (e.g., client 102). Acookie stored on a client 102 can typically comprise one or morename/value pairs and convey information about the state of a webbrowsing session. The cookie can be provided to the information system106 as part of a search request or other communication. User profilescan be created in a variety of ways, such as by receiving informationfrom a user and/or by inferring information about a user from the user'scomputing activities such as browsing, searching, messaging, and use ofvarious software applications (e.g., a word processing application). Thedocument system 120 can include an inverse document index 122 and adocument storage system 124.

The index 334 and document database 336 are sometimes collectivelycalled the document database. In some embodiments, “searching thedocument database” means searching the inverse document index 334 toidentify document identifier of documents whose contents are relevant aspecified search query or term. The documents corresponding to thedocument identifiers can be obtained form the document storage system124. The document storage system 124 can also provide a snippet of adocument based on various criteria (e.g., a portion of the documentparticularly relevant to a search query).

The search system 114 can be used as a search engine for locatingresources located on hosts within an intranet, an extranet, and/or theInternet. The search system 114 can include a client communicationmodule 126, a query processing controller 128, a query receipt,processing, and response module 130 and a cache 133. The clientcommunication module 126 can provide for communications between thesearch system 114 and a client 102. Search queries submitted to thesearch system 114 by users at one of the clients 102 can be received atthe query receipt, processing and response module 130. The queries areforwarded to the query processing controller 128, which managesinteractions with the document system 120 to search for documentsrelevant to the search query. The document system 120 can return a listof documents relevant to the search query as the search results. Thequery processing controller can request snippets from one or more of thesearch results. In some instances, one or more of the search results areavailable from the cache 133. The query receipt, processing and responsemodule 130 can receive information in the form of search results with orwithout snippets, and format the information to create a response foruser submitting the search request.

The shared space system 116 can include a shared space communicationmodule 132, a shared space manager 134, a user information processingmodule 136, and a shared space memory 137. The shared spacecommunication module 136 can provide for communications between a client102 and the shared space system 116. The shared space manager 134 can beused to create and maintain one or more shared spaces in accordance withshared space settings. The user information processing module 136 can beused to store and retrieve information from the user informationdatabase 118. The shared space memory 137 can store information relatingto one or more shared spaces and system information.

The messaging systems 138 can provide for messaging between users andvarious network entities. For example, the messaging systems 138 caninclude an electronic message subsystem (e.g., email) and/or an instantmessage subsystem. The other systems 140 can provide for other networkbased systems such as web services, file management, image management,product reviews, on-line commerce sites and so on. One or more of themessaging systems 138 and/or other systems 140 optionally can beconnected to the communication network directly 104.

FIG. 2 illustrates one exemplary process 200 for creating and enablingshared communication spaces according to some embodiments of theinvention. A plurality of users can be identified that share a commonset of characteristics (202). As used in this specification, the term“user” refers to various types of entities such as users of client 102and/or network or server agents. An agent can be an autonomous orsemi-autonomous software application that produces and/or consumesinformation (e.g., a software application that provides information toconsumers such as stock prices weather reports). An agent can be locatedon a client 102 and/or client or server in the network. Although thefollowing discussion uses the term “user” for simplicity, it should beunderstood that the techniques described apply equally well to agents,as well as other type of network entities.

Users can be identified as sharing a common set of characteristics in anumber of ways. For example, users can be identified as sharing a commonset of characteristics when they are performing the same or relatedactivities, either directly or indirectly. In some embodiments, theidentification is bounded by a time period (e.g., 15 minutes) withinwhich the same or related activities are being performed by the users.The activities can include, for example: submitting the same or relatedqueries to a search system (such as search system 114), browsing and/orsearching for information relating to the same or related topics (e.g.,topics such as those found in the Open Directory Project,http://dmoz.org), shopping on-line for the same or related items and/orservices, browsing within a group of related sites (e.g., sitesassociated with a directory structure such as the Open DirectoryProject), browsing the same or related content, and playing the same ora related electronic game. A user's browsing of content can include, butis not limited to, browsing content on a web page, web site, or otherany source of content. In some embodiments, a user's activities can befurther characterized by identifying that the user is performing one ormore activities associated with a particular locality (e.g., a userseeks to purchase an item within a defined geographical area). Theactivities can include composing, reading or otherwise accessingdocuments and/or services related to a same or similar topic, messagingto other users on the same or related topic (e.g., emailing to orinstant messaging with another user a message whose contents is similarand/or related to a particular topic). In some embodiments, it issufficient that the users are involved in an activity where a user'scomputing experience may be supplemented by communicating with otherusers doing the same or a similar activity.

In some embodiments, mutually identified characteristics can be used toidentify users. For example users sharing one or more common interestsand/or characteristics (e.g., as might be found in a user profile) canbe determined. The interests can include, for example, an identificationthat the user is interested in one or more topics (such as those foundin the Open Directory Project). A user can identify interests and auser's preference toward one or more topics. Certain interests of theuser can be inferred from a user's actions. The characteristics of auser can include, for example, age, gender, and geographic location. Auser's membership in a group can be used to identify that user with theother members in the group.

The activities a user is performing can be determined in a number ofways. For example, a client assistant 110 can monitor a user'sactivities with respect to one or more applications, such as a clientapplication 108, and provide information about the user's activities toan information system 106. In another example, an information item (suchas a cookie) that is provided along with a search or a resource requestto a system (e.g., to the information system 106) can contain a useridentifier that can be used to associate the user with the search orrequest. In yet another example, a user can be logged in to a service(e.g., an instant messaging service or web service) and the service canprovide information about the user's activities.

The shared space manager 134 can obtain and/or receive information fromvarious sources (e.g., a client assistant 110) about the activities ofvarious users and determine which users, if any, are sharing a commonset of characteristics such as performing the same or similaractivities. The various sources from which the shared space manager canobtain and/or receive information can include, but is not limited to,for example, the client 102, the search system 114, the messagingsystems 138 and the other systems 140. The shared space manager 134 canobtain and/or receive information with respect to interests shared by aplurality of users (e.g., by querying the user information database 118)to identify those users which share common interests. In someembodiments, the various sources can communicate to the shared spacemanager 134 an on-line status of the user (e.g., active, inactive, away,or busy).

For the plurality of identified users at 202, shared space settings canbe determined for the users. The shared space settings for a user candescribe a user's desired communications to and from the shared spacewith varying degrees of granularity. A user can define (by permitting orprohibiting) what types of information can be received, what types offiltering should be applied to the received information, from whichsources information may be received, and to which receivers the user'sinformation can be provided.

The types of information (sometimes referred to in this specification as“information items”) which can be permitted or restricted can fall intotwo general areas: static information and streaming information.Additionally, archived information of those types can be included, aswell as group editing of any of the types.

Static information can include, but is not limited to: text,advertisements, images, news items, map links, product reviews, phonenumbers, e-mails, e-mail addresses, web page links, dictionary entries,syndication feeds, blog (web log) events, user polls, search queries,result selections from search results, advertisement selections, andlinks to files or other content on the client 102. Syndication feeds canprovide content distributed from various sources on a network (e.g., theInternet). Typically, syndication can be used for distributing varioustypes of content to a number of receivers simultaneously (e.g., stockprices and weather reports). News items can be news items from one ormore sources. Blog events can be events generated from one or more weblogs (blogs). User polls can be polls that the user may participate inwhich may come from a variety of sources. Streaming information caninclude, but is not limited to: audio, video, chatroom participation,instant messaging, and computer control such as browsing, navigation,mouse location, keyboard events, and screen contents.

A filter can provide a user with a means to restrict certain contentbased on various criteria (e.g., filtering out adult content). Filterscan be user-created or system-provided. A user-created filter can bebased on arbitrary criteria (e.g., specific word or word phrases).

A user can describe in the user's shared space settings from whichsources information items can be received. A user can, for example,restrict and/or permit information items from an arbitrary set ofsources and/or a set based on an arbitrary set of attributes associatedwith sources (e.g., restricting information originating from sources inthe “.prof” top level domain). Similarly, a user can describe in theshared space settings to which receivers the user's information itemscan be sent. A user can, for example, restrict and/or permit receiversfrom receiving all or part of the user's information items to anarbitrary set of receivers and/or to a set of receivers based on anarbitrary set of attributes associated with receiver (e.g., permittinginformation to be provided to users who have a Google Gmail account).

A user's shared space settings can be stored in the user informationdatabase 118 and/or the client memory 112. A user's shared spacesettings can be established during a prior set up session for the userand/or during a transaction as part of an invitation transaction forinviting a user to participate in a shared space (described below). Auser can modify the shared space settings at other times. In someembodiments, a user can have different shared space settings for eachshared space in which the user is a participant. A user can createdefault shared space settings that can be applied to new shared spacesto which the user is invited and/or reset shared space settings for oneor more current shared spaces to a default state. A system defaultshared space setting can be established for one or more users. In someembodiments, a user can be permitted to control the sharing of aninformation item on a per information item basis as that information isabout to be shared.

A set of system settings can be created that can apply to one or moreshared spaces. The system setting can include constraint or permissionswith respect to: certain users; transmissions to a set for receiverslarger than a particular size (e.g., as might be done to minimize spam);sending or receiving information based on arbitrary attributes of theinformation item's content (e.g., a filter); and arbitrary restrictionsplaced by the users to whom the space has been allocated (e.g., bysettings modifiable within the shared space itself). The system settingscan be stored in the shared space manager 134.

Referring back to FIG. 2, a shared space can be created (206). A sharedspace can take a variety of forms. For example, a shared space can be achatroom, a pop-up window, a separate application window, a shared whiteboard, a web page, or a combination thereof. It is sufficient that theshared space facilitate a one-way and/or two-way exchange of informationitems among users. The information items displayed in the shared spacecan include information items relevant to the common set ofcharacteristics and/or information items provided by or selected byusers, and other information items. The contents of a shared site candepend on the common set of characteristics. For example, a shared spacewhere the common set of characteristics involves searching for aparticular shopping item (e.g., a bicycle), can include for example, achat space, searches performed by one or more of the users, results fromone or more searches for the item, product reviews of the item, links toon-line auctions for the item, links to information on a network (e.g.,the Internet or otherwise) relating to the item, advertisements relatingto the item, and/or other resources relating to shopping for the item.In another example, a shared space where the common set ofcharacteristics involves searching for information about a particularpublic company can include links to the company web site, links toon-line articles or news items relating to the company, one or morepieces of information relating to the company's stock price (e.g., achart), links to the company governmental filings, and so on.Information relating to a shared space can be stored in the shared spacememory 137. In some embodiments, one or more user can edit the types ofinformation items displayed in the shared space (e.g., adding news feedsor product reviews).

Once a shared space is created, communications can be enabled for usersin accordance with their respective shared space settings and any systemsettings (208). Users, for example, can be provided an invitation tojoin a shared space. The invitation can include a link to the sharedspace and/or instructions for connecting to the shared space. Theinvitation can include options for the user to create the user's sharedspace settings with respect to that shared space. The user can have anoption to use a default setting. The default setting can be a user'sdefault setting or a system-supplied default setting. As an example ofsettings, a user can choose to have revealed or to not have revealed theuser's email address within the shared space and/or to the other usersof the shared space. In another example, a user can choose to receive noadvertisements as part the user's participation in particular sharedspace. Another user, however, can elect to receive advertisements forthat same shared space. Accordingly, users may participate and receiveinformation in accordance with their own shared space settings. Thedisplay on the client 102 of the shared space can therefore vary fromuser to user.

FIG. 3 illustrates an exemplary screenshot of a shared space. A sharedspace window 302 includes a chat area 304, a user identifier area 306,an advertisements area 308 and other information items area 310. Thechat area 304 can enable users to communicate with each other via textmessages in real time. The user identifier area 306 can includeidentifiers for the user of the shared space. The information presentedabout a user, however, can be governed according to the user's sharedspace settings (e.g., a user may not desire to have his or her emailrevealed to the other users). The advertisements area 308 can includeone or more advertisements relating to the common characteristics of theshared space. In some embodiments, the advertisements can change basedon the contents of one or more of the information items being displayedin the window 302. The other information items area 310 can contain oneor more information items as described above (e.g., product reviews). Ofcourse, shared space window 302 is merely exemplary and a shared spacemay contain fewer, more, and/or different areas.

FIG. 4 is a block diagram of a client 400. The client 400 generallyincludes one or more processing units (CPUs) 402, one or more network orother communications interfaces 404, memory 406, and one or morecommunication buses 408 for interconnecting these components. The client400 may optionally include a user interface 410, for instance a display412 and a keyboard 414. Memory 406 may include high speed random accessmemory, such as DRAM, SRAM, DDR RAM or other random access solid statememory devices; and may include non-volatile memory, such as one or moremagnetic disk storage devices, optical disk storage devices, flashmemory devices, or other non-volatile solid state storage devices.Memory 406 may optionally include one or more storage devices remotelylocated from the CPU(s) 402. In some embodiments, the memory 406 storesthe following programs, modules and data structures, or a subsetthereof:

-   -   an operating system 416 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module (or instructions) 418 that is        used for connecting the client 400 other computers via the one        or more communication network interfaces 404 (wired or        wireless), such as the Internet, other wide area networks, local        area networks, metropolitan area networks, and so on;    -   a client application 108 as described above;    -   a client assistant 110 as described above; and    -   a client memory 112 that can include a user's settings and        permissions 420.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 406 maystore a subset of the modules and data structures identified above.Furthermore, memory 406 may store additional modules and data structuresnot described above.

FIG. 5 is a block diagram of an information system 500. The informationsystem 500 generally includes one or more processing units (CPUs) 502,one or more network or other communications interfaces 504, memory 506,and one or more communication buses 508 for interconnecting thesecomponents. The information system 500 may optionally include a userinterface 510, for instance a display 512 and a keyboard 514. Memory 506may include high speed random access memory, such as DRAM, SRAM, DDR RAMor other random access solid state memory devices; and may includenon-volatile memory, such as one or more magnetic disk storage devices,optical disk storage devices, flash memory devices, or othernon-volatile solid state storage devices. Memory 506 may optionallyinclude one or more storage devices remotely located from the CPU(s)502. In some embodiments, the memory 506 stores the following programs,modules and data structures, or a subset thereof:

-   -   an operating system 516 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module (or instructions) 518 that is        used for connecting the information system 500 to other        computers via the one or more communication network interfaces        504 (wired or wireless), such as the Internet, other wide area        networks, local area networks, metropolitan area networks, and        so on;    -   a search system 114, including a client communication module (or        instructions) 126 for communicating with the clients 102 and a        query receipt, processing, and response module (or instructions)        130 for receiving and processing search requests from clients        102; and    -   a shared space system 116, including a shared space manager 134        as described above, a user information processing module (or        instructions) 136 as described above, a shared space        communications module (or instructions) 132 as described, and a        shared space memory 137 including one or more shared spaces 520.

The shared spaces 520 can include, for example, information relating tothe shared space such as formatting and display information, a list ofusers and associated communications settings, and lists of informationitems which can be displayed in the shared space.

The information system 500 can be connected to the user informationdatabase. The user information database 118 can include informationabout one or more users. A user identifier 522 can be associated withsettings and permissions 524, which can define the setting andpermissions (as described above) for the user corresponding to the useridentifier 522. Ad server 128 can contain one or more advertisements1020. The ad server 128 can receive input and return advertisements thatare relevant to the input. The information item server 130 can includeone or more information items 1022. Similar to the ad server 128, theinformation server 130 can receive input and return information itemsthat are relevant to the input.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and corresponds to a set ofinstructions for performing a function described above. The aboveidentified modules or programs (i.e., sets of instructions) need not beimplemented as separate software programs, procedures or modules, andthus various subsets of these modules may be combined or otherwisere-arranged in various embodiments. In some embodiments, memory 406 maystore a subset of the modules and data structures identified above.Furthermore, memory 406 may store additional modules and data structuresnot described above.

FIGS. 4 and 5 are intended more as functional descriptions of thevarious features which may be present in one or more servers than as astructural schematic of the embodiments described herein. In practice,and as recognized by those of ordinary skill in the art, items shownseparately could be combined and some items could be separated. Forexample, some items shown separately in FIG. 5 could be implemented onsingle servers and single items could be implemented by one or moreservers. The actual number of servers used to implement an informationsystem how features are allocated among them will vary from oneimplementation to another, and may depend in part on the amount of datatraffic that the system must handle during peak usage periods as well asduring average usage periods.

Although one or more of the drawings illustrate a number of logicalstages in a particular order, stages which are not order dependent maybe reordered and other stages may be combined or broken out. While somereordering or other groupings are specifically mentioned, others will beobvious to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A computer-implemented method performed by aserver system having one or more processors and memory storing programsexecuted by the one or more processors for providing communications, themethod comprising: at the server system: identifying a set of userssatisfying a first condition, the first condition corresponding to anonline activity related to a same topic, and satisfying the firstcondition occurs when the set of users have submitted a search queryrelated to the same topic within a time period, have at least oneprofile setting concerning the same topic, perform the online activityrelated to the same topic within the time period, and are associatedwith an online activity status; after identifying the set of users,dynamically creating a shared communication space for the set of users;identifying, for the set of users, communication permissions withrespect to the shared communication space; sending invitations to theset of users to join the shared communication space, wherein theinvitations include the communication permissions of the set of users inthe shared communication space; and responsive to receiving acceptanceof the invitations from the set of users, enabling communication by theset of users within the shared communication space in accordance withthe communication permissions.
 2. The method of claim 1, wherein the setof users are autonomous or semi-autonomous software application thatproduces and consumes information.
 3. The method of claim 1, whereinsatisfying the first condition occurs when the set of users are browsingcontent topically related to the same topic within the time period. 4.The method of claim 1, wherein satisfying the first condition occurswhen the set of users are browsing one or more web sites related to thesame topic within the time period.
 5. The method of claim 1, wherein theshared communication space is a chat room.
 6. The method of claim 1,wherein the shared communication space is a web page.
 7. The method ofclaim 1, further comprising displaying first information in the sharedcommunication space, wherein the first information is one or moreinformation items relevant to the first condition, and the one or moreinformation items include one or more of: advertisements, productreviews, links to auctions, user identifiers, and news items.
 8. Themethod of claim 1, wherein the communication permissions specify one ormore of: one or more types of filtering to be applied to informationreceived in the communication, one or more permitted sources of theinformation, and one or more permitted destinations of the information.9. A computer readable storage medium storing one or more computerprograms to be executed by one or more processors of a computer system,the one or more computer programs comprising: instructions foridentifying a set of users satisfying a first condition, the firstcondition corresponding to an online activity related to a same topic,and satisfying the first condition occurs when the set of users havesubmitted a search query related to the same topic within a time period,have at least one profile setting concerning the same topic, perform theonline activity related to the same topic within the time period, andare associated with an online activity status; instructions fordynamically creating, after identifying the set of users, a sharedcommunication space for the set of users; instructions for identifying,for the set of users, communication permissions with respect to theshared communication space; instruction for sending invitations to theset of users to join the shared communication space, wherein theinvitations include the communication permissions of the set of users inthe shared communication space; and instructions for, responsive toreceiving acceptance of the invitations from the set of users, enablingcommunication by the set of users within the shared communication spacein accordance with the communication permissions.
 10. The computerreadable storage medium of claim 9, wherein the set of users areautonomous or semi-autonomous software application that produces andconsumes information.
 11. The computer readable storage medium of claim9, wherein satisfying the first condition occurs when the set of usersare browsing content topically related to the same topic within the timeperiod.
 12. The computer readable storage medium of claim 9, whereinsatisfying the first condition occurs when the set of users are browsingone or more web sites related to the same topic within the time period.13. The computer readable storage medium of claim 9, wherein the sharedcommunication space is a chat room.
 14. The computer readable storagemedium of claim 9, wherein the shared communication space is a web page.15. The computer readable storage medium of claim 9, further comprisingdisplaying first information in the shared communication space, whereinthe first information is one or more information items relevant to thefirst condition, and the one or more information items include one ormore of: advertisements, product reviews, links to auctions, useridentifiers, and news items.
 16. The computer readable storage medium ofclaim 9, wherein the communication permissions specify one or more of:one or more types of filtering to be applied to information received inthe communication, one or more permitted sources of the information, andone or more permitted destinations of the information.
 17. A system forprocessing messages, comprising: memory; one or more processors; and atleast one program, stored in the memory for execution by the one or moreprocessors, the at least one program including instructions for:identifying a set of users satisfying a first condition, the firstcondition corresponding to an online activity related to a same topic,and satisfying the first condition occurs when the set of users havesubmitted a search query related to the same topic within a time period,have at least one profile setting concerning the same topic, perform theonline activity related to the same topic within the time period, andare associated with an online activity status; after identifying the setof users, dynamically creating a shared communication space for the setof users; identifying, for the set of users, communication permissionswith respect to the shared communication space; sending invitations tothe set of users to join the shared communication space, wherein theinvitations include the communication permissions of the set of users inthe shared communication space; and responsive to receiving acceptanceof the invitations from the set of users, enabling communication by theset of users within the shared communication space in accordance withinthe communication permission.
 18. The system of claim 17, whereinsatisfying the first condition occurs when the set of users havesubmitted a query related to the same topic within the time period. 19.The system of claim 17, wherein satisfying the first condition occurswhen the set of users are browsing content topically related to the sametopic within the time period.
 20. The system of claim 17, whereinsatisfying the first condition occurs when the set of users are browsingone or more web sites related to the same topic within the time period.